// 合并 K 个升序链表

// 网友解答，妙哉  在leetcode上接收到的lists已是链表，不用再处理
// reduceRight 从最后一个遍历
var mergeKLists = function (lists) {
  return lists.reduce((p, n) => {
    while (n) {
      p.push(n), n = n.next
    }
    return p
  }, []).sort((a, b) => a.val - b.val).reduceRight((p, n) => (n.next = p, p = n, p), null)
};

console.log(mergeKLists([[1,4,5],[1,3,4],[2,6]]));